/* 完成主界面的css*/
.client-container {
    height:100%;
    width:100%;
    /* 在使用水平居中和垂直居中时必须先将其内部元素变成弹性布局 */
    display:flex;
    justify-content:center;
    align-items:center;
}

.main{
    height:700px;
    width:900px;
    background-color: #f5f5f5;
    display:flex;
    z-index:2;
    border:none;
    outline:none;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
.main .left{
    width:260px;
    height:100%;
    background-color: #2e2e2e;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
.main .right{
    width:640px;
    height:100%;
    padding: 0 20px;
    position: relative;
}
.main .friends{
    width:640px;
    height:100%;
    padding: 0 20px;    
}
.cover{
    width:100%;
    height:100%;
    background-image: url("../img/cat.png");
    position:absolute;
    /* 使用 background-repeat 使得浏览器缩放时空白的部分不会被div平铺补充 */
    background-repeat:no-repeat ;
    /* 使用background-position 使得该块元素的位置居中 */
    background-position:center center;
    /* 使用background-size之后无论浏览器缩放多少背景都能覆盖到 */
    background-size:cover;
    /* background-repeat ; */
    z-index:1;
    filter:blur(20px);
}

.client-container .main .left .name{
    height:70px;
    color:#f5f5f5;
    line-height:70px;
    padding-left:30px;
    font-weight:700;
    font-size:20px;
    border:none;
    outline:none;
    border-radius: 5px;
}

.client-container .main .left .search{
    height:50px;
    padding-left:20px;
    border:none;
    outline:none;
    border-radius: 5px;
    display:flex;
    justify-content: center;
    align-items: center;
}
.client-container .main .left input{
    padding-left:10px;
    line-height:30px;
    color:#f5f5f5;
    height:30px;
    width:180px;
    background-color: rgb(38, 41, 46);
    border:none;
    outline:none;
    border-radius: 5px;
    
}
#searchButton {
    height:30px;
    width:30px;
    border:none;
    outline:none;
    background-color: rgb(38, 41, 46);
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 5px;
    background-image:url(../img/select.png);
    background-size:20px 20px;
}

#searchButton:active{
    background-color: rgb(190,190,190);
}

.main .left .table{
    height: 40px;
    width:100%;
    display: flex;
    justify-content: center;
}
.main .left .table .table-session{
    height: 40px;
    width:50%;
    display: flex;
    justify-content: center;
    background-image: url(../img/dialog.png);
    background-size:20px 20px;
    background-position:center center;
    background-repeat:no-repeat;
}
.main .left .table .table-friend{
    height: 40px;
    width:50%;
    display: flex;
    justify-content: center;
    background-image: url(../img/user2.png);
    background-size:20px 20px;
    background-position:center center;
    background-repeat:no-repeat;
}
.main .left .list {
    overflow: auto;
    height:540px;
    /* display:flex;
    justify-content: center;
    align-items: center; */
}
.main .left .list li{
    height:67.5px;
    /* 这里不要搞成弹性布局 */
    /* justify-content: center; */
    /* align-items: center; */
    border-top: 1px  solid black;
    padding:10px 20px;
}

.main .left .list li h3 , 
.main .left .list li p{
    font-size: 14px;
    line-height: 25px;
    height: 25px;
    width:100%;
    color:#f5f5f5;
    padding-left:10px;
}
.main .left .list .selected{
    background-color: rgb(46, 54, 65);
}

#session-list .requestMessage{
    display:flex;
    /* justify-content: center; */
    align-items: center;
}

#session-list .requestMessage .request-left h3{
    height:50%;
    width:100%;
    color:rgb(255,255,255);
    font-size:15px;
    font-weight:200;
    line-height:35px;

}
#session-list .requestMessage .request-left{
    height:70px;
    width:140px;
}
#session-list .requestMessage .request-left p{
    height:50%;
    width:100%;
    color:rgb(255,255,255);
    font-weight:100;
    font-size:10px;
    
}

#session-list .requestMessage button{
    height:20px;
    width:40px;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center center;
    border-radius: 15px;
}
#session-list .requestMessage .rejust{
    margin:0px 10px;
    background-image: url("../img/对错2\(1\).png");
    
}
#session-list .requestMessage .agree{
    background-image: url("../img/对错1\(1\).png");
}

#friend-list li h3{
    height: 50px;
    line-height: 50px;
    font-size:14px;
    color: #f5f5f5;
    padding-left:10px;
}
.list-hide{
    display:none;
}
::-webkit-scrollbar{
    display:none;
}

.main .right .title{
    height:70px;
    line-height:70px;
    font-weight:40;
    /* 对于纯文字没必要使用flex,使用line-height:可设置垂直居中 */
    /* text-align 设置水平居中 */
    font-size:20px;
    text-align: center;
    border-bottom:1px solid rgb(190,190,190);
}
.main .friends .title{
    height:70px;
    line-height:70px;
    font-weight:40;
    /* 对于纯文字没必要使用flex,使用line-height:可设置垂直居中 */
    /* text-align 设置水平居中 */
    font-size:20px;
    text-align: center;
    border-bottom:1px solid rgb(190,190,190);
}
.main .friends .friends-show{
    height:calc(100% - 70px);
    border-bottom: 1px solid rgb(190,190,190);
    padding: 10px 20px;
    overflow: auto;
}
.main .friends .friends-show .friendBox{
    height:105px;
    display:flex;
    justify-content: center;
    align-items: center;
    padding:0px 10px;
    background-color:rgb(255,255,255);
    border-bottom: 1px solid  rgb(190,190,190);
} 
.main .friends .friends-show .friendBox h3 { 
    display:block;
    width:80px;
    height:60px;
    outline:none;
    border:none;
    margin: 0px 30px;
    text-align: center;
    line-height:60px;
} 
.main .friends .friends-show .friendBox button{ 
    display:block;
    width:80px;
    height:60px;
    outline:none;
    border:none;
    margin: 0px 30px;
    text-align: center;
    line-height:60px;
    color: #1BD5A7;
    border-radius: 10px;
    font-size:15px;
    font-weight:300;
}

.main .friends .friends-show .friendBox input{ 
    /* display:block; */
    width:250px;
    height:60px;
    border-radius: 10px;
    outline:none;
    border:none;
    margin: 0px 30px;
    background-color: #f5f5f5;
    font-size:20px;
    font-weight:500;
    text-align: center;
    /* padding-left:; */
} 
.main .friends .error{
   background-color: #fff;
   height:calc(100% - 70px);
}
.main .friends .error .errorText{
    height:100px;
    text-align: center;
    line-height: 100px;
    font-size:30px;
    font-weight:600;
    color:#1BD5A7;
}
.main .friends .error .error-image-box{
    height:calc(100% - 170px);
    display: flex;
    justify-content: center;
    align-items: center;
}
.main .friends .error .error-image-box .error-image{
    height:350px;
    width:350px;
    background-image:url("../img/error2.png");
    background-repeat: no-repeat;
    background-size:cover;
    background-position: center center;
}
.main .right .massage-show{
    height:410px;
    border-bottom: 1px solid rgb(190,190,190);
    padding: 10px 20px;
    overflow:auto;
}
.main .right .massage-show .massage{
    margin-top:5px;
    /* border-top:1px solid rgb(190,190,190);
    border-bottom:1px solid rgb(190,190,190); */
    /* margin-top: 10px; */
    display:flex; 
}
.main .right .massage-show .massage-right{
    justify-content: flex-end;
    padding-right:10px;
}
.main .right .massage-show .massage-left{
    justify-content: flex-start;
    padding-left:10px;
}
.main .right .massage-show .massage-left .box p{
    background-color: rgb(255,255,255);
    /* 核心换行设置 */
    word-wrap: break-word;    /* 允许长单词或URL换行 */
    white-space: pre-wrap;    /* 保留空格但允许自动换行 */
}
.main .right .massage-show .massage-right .box p{
    background-color: #95EC69;
    /* 核心换行设置 */
    word-wrap: break-word;    /* 允许长单词或URL换行 */
    white-space: pre-wrap;    /* 保留空格但允许自动换行 */
}
.main .right .massage-show .massage .box {
    /* padding-left:10px; */
    /* padding-right:10px; */
    width:400px;
}
.main .right .massage-show .massage .box h4{
    font-weight:none;
}
.main .right .massage-show .massage .box p{
    padding-top:10px;
    padding-bottom: 10px;
    padding-left:20px;
    font-weight:20;
    border-radius: 10px;
    line-height:30px;
    font-size:15px;
}
#send{
    display:block;
    background-color: #f5f5f5;
    font-size:20px;
    font-weight:700;
    padding:10px;
    max-height:60px;
    min-height:20px;
    width:100%;
    outline:none;
    border:none;
    resize:none;
    overflow: auto;
}
.main .right .ctrl{
    height:30px;
    display:flex;
    justify-content: flex-end;
    position: absolute;
    bottom: 10px;
    right:30px;
}
.main .right .ctrl #button-send{
    height:30px;
    width:100px;
    background-color: #E9E9E9;
    color: #1BD5A7;
    outline: none;
    border: none;
    border-radius: 8px;
}
.selected{
    background-color: #2E3641;
}
#emoji-panel{
    height: 90px;
    width:auto;
    padding: 5px 10px;
    display: none;
    overflow: auto;
    background: white;
    z-index: 1000;
}
.toolbar{
    display:flex;
    height:25px
}
.toolbar button{
    width :25px;
    border:none;
    
}
.toolbar button:hover{
    background-color:darkgrey;
}
.toolbar label{
    width :25px;
    border:none; 
    
}
.toolbar label:hover{
    background-color:darkgrey;
}
#emoji-panel .emoji-grid .emoji-item{
    background : none;
    border: none;
    font-size: 20px;
    background: white;
    color: white;
    cursor: pointer;
}
/* 隐藏实际的文件上传 */
#fileInput{
    display:none
}
.file-bubble{
    background:white;
    border-radius:7.5px;
    padding:15px;
    cursor:pointer;
    transition: all 0.3s ease;
    display:flex;
    max-width:260px;
    min-width: 200px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    overflow:hidden;
    position: relative;
    margin: 5px 0;
}

.massage-left .file-bubble {
    background: #f0f0f0;
}

.massage-right .file-bubble {
    background: #dcf8c6;
}
.file-bubble:hover{
    transform: translateY(-2px);
    box-shadow: 0 3px 6px black;
}
.file-bubble:active{
    transform:scale(0.98);
}

.sent .file-bubble {
    background: #dcf8c6;
}


.file-icon {
    font-size: 40px;
    margin-right: 15px;
    color: #128C7E;
    position: relative;
}

.file-info {
    flex: 1;
    min-width: 0;
}

.file-name {
    font-weight: 500;
    margin-bottom: 6px;
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-size {
    font-size: 13px;
    color: #666;
    margin-bottom: 8px;
}

.progress-container {
    height: 5px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    overflow: hidden;
}

.progress-bar {
    height: 100%;
    background: #128C7E;
    width: 0%;
    transition: width 0.3s;
}

.progress-text {
    font-size: 12px;
    color: #666;
    text-align: right;
    margin-top: 5px;
}

.upload-complete {
    color: #128C7E;
    font-weight: 500;
    display: none;
}

.file-bubble.completed .upload-complete {
    display: block;
}

.file-bubble.completed .progress-text {
    display: none;
}

.upload-complete i {
    margin-right: 5px;
}